package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.*;
import cn.wolfcode.trip.base.query.QueryObject;
import cn.wolfcode.trip.base.query.StrategyQueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IStrategyService {


    void save(Strategy strategy);



    /**
     * 高级查询
     * @param qo
     * @return
     */
    PageInfo query(StrategyQueryObject qo);

    void update(Strategy strategy);
    List<Strategy> selectAll();
    Strategy get(Long id);
    void delete(Long id);

    void saveOrUpdate(Strategy strategy);

    StrategyContent getContetByDetailId(Long detailId);

    PageInfo selectHot(StrategyQueryObject qo);

    List<StrategyCatalog> getCatalogByStrategyId(Long strategyId);

    List<Travel> getTravelsByStrategyId(Long strategyId);

    List<Tag> queryTagsByStrategyId(Long strategyId);

    Integer getStrategyCount(Long strategyId);

    Integer getStrategyStatus(Long userId, Long strategyId);

    List<Strategy> getStrategysByUserId(Long userId);
}
